Database Tutorials SQL এ Authentication এবং Authorization গাইড ও নোট

306

SQL ডেটাবেস সিস্টেমে Authentication এবং Authorization দুটি গুরুত্বপূর্ণ সিকিউরিটি প্রক্রিয়া যা ডেটাবেস অ্যাক্সেস এবং নিরাপত্তা নিশ্চিত করতে ব্যবহৃত হয়। এগুলি ব্যবহার করে ডেটাবেসের ব্যবহারকারীদের পরিচয় যাচাই করা এবং তাদের নির্দিষ্ট কাজের অনুমতি দেওয়া হয়।


1. Authentication (অথেন্টিকেশন)

Authentication হল সেই প্রক্রিয়া যার মাধ্যমে ডেটাবেস সিস্টেম ব্যবহারকারীকে চিহ্নিত করে এবং তাদের পরিচয় নিশ্চিত করে। এটি নিশ্চিত করে যে আপনি যে ব্যবহারকারী হিসেবে লগ ইন করছেন, আপনি সত্যিই সেই ব্যক্তি বা অ্যাকাউন্টের অধিকারী। Authentication সাধারণত ইউজারনেম এবং পাসওয়ার্ড এর মাধ্যমে করা হয়, তবে আরও উন্নত নিরাপত্তা প্রক্রিয়া যেমন মাল্টি-ফ্যাক্টর অথেন্টিকেশন (MFA) বা বায়োমেট্রিক্স ব্যবহারও করা যেতে পারে।

Authentication প্রক্রিয়া:

  1. ইউজারনেম এবং পাসওয়ার্ড: ব্যবহারকারী একটি ইউজারনেম এবং পাসওয়ার্ড প্রদান করে।
  2. ডেটাবেস সিস্টেম যাচাই করে: সিস্টেম ব্যবহারকারীর প্রদান করা তথ্য যাচাই করে এবং নিশ্চিত করে যে ইউজারনেম এবং পাসওয়ার্ড সঠিক।
  3. অথেন্টিকেশন সফল হলে অ্যাক্সেস প্রদান: সঠিক তথ্য প্রদান করলে ব্যবহারকারী ডেটাবেসে প্রবেশ করতে সক্ষম হয়।

Authentication উদাহরণ (MySQL):

mysql -u username -p

এখানে -u ব্যবহারকারীর নাম এবং -p পাসওয়ার্ডের জন্য নির্দেশনা দেয়। সঠিক পাসওয়ার্ড প্রবেশ করলে, ব্যবহারকারী ডেটাবেসে লগ ইন করতে সক্ষম হবে।


2. Authorization (অথরাইজেশন)

Authorization হল সেই প্রক্রিয়া যার মাধ্যমে ডেটাবেসে লগ ইন করা ব্যবহারকারীর কাছে নির্দিষ্ট কাজ বা সম্পদের অ্যাক্সেস অনুমোদিত হয়। একবার একটি ব্যবহারকারী সফলভাবে অথেন্টিকেট হয়ে গেলে, Authorization নির্ধারণ করে সে কি করতে পারবে এবং কোন ডেটাবেস অবজেক্ট বা তথ্য দেখতে বা পরিবর্তন করতে পারবে।

Authorization বিভিন্ন ধরনের প্রিভিলেজ (privileges) বা অনুমতি নির্ধারণ করে, যেমন: SELECT, INSERT, UPDATE, DELETE, এবং আরও অনেক কিছু।

Authorization এর ধরন:

  • Role-based authorization: ব্যবহারকারীদের ভূমিকা (role) অনুযায়ী অনুমতি প্রদান করা হয়। যেমন, একজন অ্যাডমিনিস্ট্রেটরকে সমস্ত ডেটাবেসের সম্পূর্ণ অ্যাক্সেস দেওয়া, কিন্তু একজন সাধারণ ব্যবহারকারীকে শুধুমাত্র নির্দিষ্ট টেবিলের তথ্য দেখার অনুমতি দেওয়া।
  • Object-based authorization: নির্দিষ্ট ডেটাবেস অবজেক্ট (যেমন টেবিল, ভিউ, স্টোরড প্রোসিডিউর) এর জন্য অনুমতি নির্ধারণ করা হয়।

Authorization উদাহরণ (MySQL):

  1. User তৈরি করা:

    CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
    
  2. User কে privileges দেওয়া (অথরাইজেশন):

    GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
    

    এই কুয়েরিটি username ইউজারকে database_name ডেটাবেসের উপর SELECT এবং INSERT করার অনুমতি দেয়।

  3. Privileges মুছে ফেলা:

    REVOKE INSERT ON database_name.* FROM 'username'@'hostname';
    

    এই কুয়েরিটি username ইউজারের INSERT অনুমতি রিভোক (মুছে) করে।

  4. User এর অনুমতি দেখানো:

    SHOW GRANTS FOR 'username'@'hostname';
    

Authentication এবং Authorization এর মধ্যে পার্থক্য:

বিষয়AuthenticationAuthorization
কাজের ধরনব্যবহারকারীর পরিচয় যাচাই করাব্যবহারকারীকে কী করতে হবে বা কোন তথ্য অ্যাক্সেস করতে হবে তা অনুমোদন করা
প্রক্রিয়াইউজারনেম এবং পাসওয়ার্ড যাচাই করাব্যবহারকারীকে নির্দিষ্ট ডেটাবেস অবজেক্ট বা কাজের অনুমতি দেওয়া
উদাহরণইউজারনেম ও পাসওয়ার্ড দিয়ে লগ ইন করাএকটি ব্যবহারকারীকে একটি টেবিলের জন্য SELECT, INSERT অনুমতি দেওয়া

কেন Authentication এবং Authorization গুরুত্বপূর্ণ?

  1. নিরাপত্তা: ডেটাবেসে সঠিক অ্যাক্সেস কন্ট্রোল ব্যবহার না করলে, সংবেদনশীল তথ্য অ্যাক্সেস বা পরিবর্তন করা হতে পারে, যা নিরাপত্তার জন্য বিপজ্জনক। Authentication এবং Authorization এর মাধ্যমে এই ঝুঁকি নিয়ন্ত্রণ করা যায়।
  2. ডেটা অখণ্ডতা: Authorization নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ব্যবহারকারীরাই গুরুত্বপূর্ণ ডেটা অ্যাক্সেস করতে বা পরিবর্তন করতে পারে, যা ডেটাবেসের অখণ্ডতা রক্ষা করে।
  3. অ্যাক্সেস কন্ট্রোল: Authorization বিভিন্ন স্তরে ডেটাবেস অ্যাক্সেস কন্ট্রোল নিশ্চিত করে, যাতে শুধু নির্দিষ্ট কাজের জন্য নির্দিষ্ট ব্যবহারকারীরা অনুমতি পায়।

SQL ডেটাবেস সিস্টেমে Authentication এবং Authorization ব্যবহারের মাধ্যমে আপনি নিশ্চিত করতে পারেন যে ডেটাবেসে সঠিক ব্যক্তি সঠিক কাজই করতে পারে এবং সমস্ত সংবেদনশীল তথ্য সুরক্ষিত থাকবে।

Content added By
Promotion

Are you sure to start over?

Loading...